import 'package:safetymonitor/generated/json/base/json_field.dart';
import 'package:safetymonitor/generated/json/get_realtime_person_monitoring_entity.g.dart';
import 'dart:convert';
export 'package:safetymonitor/generated/json/get_realtime_person_monitoring_entity.g.dart';

@JsonSerializable()
class GetRealtimePersonMonitoringEntity {
	late int id = 0;
	late int companyId = 0;
	late String companyName = '';
	late String name = '';
	late int sex = 0;
	late String sexStr = '';
	late String phone = '';
	late String idCard = '';
	late String groupId = '';
	late int craft = 0;
	late String craftStr = '';
	late String enterTime = '';
	late String exitTime = '';
	late GetRealtimePersonMonitoringTrajectory trajectory;
	late String createTime = '';
	late List<GetRealtimePersonMonitoringPersonLocationDataDO> personLocationDataDO = [];

	GetRealtimePersonMonitoringEntity();

	factory GetRealtimePersonMonitoringEntity.fromJson(Map<String, dynamic> json) => $GetRealtimePersonMonitoringEntityFromJson(json);

	Map<String, dynamic> toJson() => $GetRealtimePersonMonitoringEntityToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class GetRealtimePersonMonitoringTrajectory {


	GetRealtimePersonMonitoringTrajectory();

	factory GetRealtimePersonMonitoringTrajectory.fromJson(Map<String, dynamic> json) => $GetRealtimePersonMonitoringTrajectoryFromJson(json);

	Map<String, dynamic> toJson() => $GetRealtimePersonMonitoringTrajectoryToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class GetRealtimePersonMonitoringPersonLocationDataDO {
	late String createTime = '';
	late String updateTime = '';
	late String creator = '';
	late String updater = '';
	late bool deleted = false;
	late int id = 0;
	late int companyId = 0;
	late String companyName = '';
	late String cardId = '';
	late String stationId = '';
	late String stationName = '';
	late String locationX = '';
	late String locationY = '';
	late String locationZ = '';
	late String locationUpdateTime = '';
	late String locationAerial = '';
	late GetRealtimePersonMonitoringPersonLocationDataDOPersonTrackDO personTrackDO;

	GetRealtimePersonMonitoringPersonLocationDataDO();

	factory GetRealtimePersonMonitoringPersonLocationDataDO.fromJson(Map<String, dynamic> json) => $GetRealtimePersonMonitoringPersonLocationDataDOFromJson(json);

	Map<String, dynamic> toJson() => $GetRealtimePersonMonitoringPersonLocationDataDOToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class GetRealtimePersonMonitoringPersonLocationDataDOPersonTrackDO {
	late String createTime = '';
	late String updateTime = '';
	late String creator = '';
	late String updater = '';
	late bool deleted = false;
	late int id = 0;
	late int companyId = 0;
	late String locationAerial = '';
	late double longitude = 0;
	late double latitude = 0;
	late int height = 0;

	GetRealtimePersonMonitoringPersonLocationDataDOPersonTrackDO();

	factory GetRealtimePersonMonitoringPersonLocationDataDOPersonTrackDO.fromJson(Map<String, dynamic> json) => $GetRealtimePersonMonitoringPersonLocationDataDOPersonTrackDOFromJson(json);

	Map<String, dynamic> toJson() => $GetRealtimePersonMonitoringPersonLocationDataDOPersonTrackDOToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}